
# 补充概念
# 分层架构
# 界面表示层        （人看到的、终端、界面、网页）
# 业务逻辑层
# 数据网络层（DAO）  （数据的存储） 文件、数据库、网络
# DAO ： Data Access Object

# 例如 对于产品的更新迭代
# 1.0
# 终端 文件方式
# 2.0
# 界面
# 3.0
# 数据库


# 先导入两个（自定义的）模块
from Student import *
from student_dao import *

# 增加一个学生的学生信息
# stu = Student(2022001,'关羽','12367899',1)       # 这里时创建一个学生类的变量  并传入初始数据（也就是需要添加的学生信息）
# stuDAO = StudentDAO()                           # 再定义一个学生数据网络类的变量
# stuDAO.insert(stu)                              # 调用学生数据网络类中添加学生信息的功能函数

# 删除一个学生的学生信息
# stuDAO = StudentDAO()
# stu = stuDAO.delete_by_no(2022001)

# 更改一个学生的学生信息
# stu = Student(2012014,'李张变凤凰','12234279',3)
# stuDAO = StudentDAO()
# stuDAO.update(stu)

# 查询学生信息
# 1.查询一个学生的学生信息
# stuDAO = StudentDAO()
# stu = stuDAO.find_by_no(2012014)
# print(stu)

# 2.查询一个学生表格内的所有学生的学生信息
stuDAO = StudentDAO()
stu = stuDAO.find_all()    # 这里的得到的是所有人信息的一个总的列表
# 通过遍历 将总列表里的每个元素都析出 从而得到每个人的具体信息

for i in range(len(stu)):
    print(stu[i],end='\n')


# 练习
# 编写一个选课系统程序

